home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 November: Tool Chest / Dev.CD Nov 98 TC.toast / Sample Code / Files / MoreIsBetter / MIB-Libraries / Sources / MoreProcesses.cp < prev    next >
Encoding:
Text File  |  1998-09-25  |  1020 b   |  54 lines  |  [TEXT/CWIE]

  1. /*
  2.     File:        MoreProcesses.cp
  3.  
  4.     Contains:    
  5.  
  6.     Written by:    Pete Gontier (PCG)
  7.  
  8.     Copyright:    Copyright (c) 1998 Apple Computer, Inc.
  9.  
  10.     Change History (most recent first):
  11.  
  12.          <1>     6/16/98    PCG     initial checkin
  13. */
  14.  
  15.  
  16. #include "MoreProcesses.h"
  17.  
  18. pascal OSErr GetSomeProcessInfo (const ProcessSerialNumber *psn, ProcessInfoRec *pir)
  19. {
  20.     if (!MoreAssert (pir))
  21.         return paramErr;
  22.  
  23.     pir->processInfoLength    = sizeof (*pir);
  24.     pir->processName        = nil;
  25.     pir->processAppSpec        = nil;
  26.  
  27.     if (psn)
  28.         return GetProcessInformation (psn,pir);
  29.     else
  30.     {
  31.         ProcessSerialNumber psn = { kNoProcess, kCurrentProcess };
  32.         return GetProcessInformation (&psn,pir);
  33.     }
  34. }
  35.  
  36. pascal OSErr FindProcessBySignature (OSType processSignature, ProcessSerialNumber *psn)
  37. {
  38.     OSErr err = noErr;
  39.  
  40.     psn->lowLongOfPSN    = kNoProcess;
  41.     psn->highLongOfPSN    = kNoProcess;
  42.  
  43.     while (!(err = GetNextProcess (psn)))
  44.     {
  45.         ProcessInfoRec pir;
  46.  
  47.         if (!(err = GetSomeProcessInfo (psn,&pir)))
  48.             if (processSignature == pir.processSignature)
  49.                 break;
  50.     }
  51.  
  52.     return err;
  53. }
  54.